-1,
G_MAXINT,
-1,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_HEIGHT_REQUEST,
g_param_spec_int ("height-request",
-1,
G_MAXINT,
-1,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_VISIBLE,
g_param_spec_boolean ("visible",
P_("Visible"),
P_("Whether the widget is visible"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_SENSITIVE,
g_param_spec_boolean ("sensitive",
P_("Sensitive"),
P_("Whether the widget responds to input"),
TRUE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_APP_PAINTABLE,
g_param_spec_boolean ("app-paintable",
P_("Application paintable"),
P_("Whether the application will paint directly on the widget"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_CAN_FOCUS,
g_param_spec_boolean ("can-focus",
P_("Can focus"),
P_("Whether the widget can accept the input focus"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_HAS_FOCUS,
g_param_spec_boolean ("has-focus",
P_("Has focus"),
P_("Whether the widget has the input focus"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_IS_FOCUS,
g_param_spec_boolean ("is-focus",
P_("Can default"),
P_("Whether the widget can be the default widget"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_HAS_DEFAULT,
g_param_spec_boolean ("has-default",
P_("Has default"),
P_("Whether the widget is the default widget"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_RECEIVES_DEFAULT,
g_param_spec_boolean ("receives-default",
P_("Receives default"),
P_("If TRUE, the widget will receive the default action when it is focused"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_COMPOSITE_CHILD,
g_param_spec_boolean ("composite-child",
P_("The event mask that decides what kind of GdkEvents this widget gets"),
GDK_TYPE_EVENT_MASK,
GDK_STRUCTURE_MASK,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
g_object_class_install_property (gobject_class,
PROP_NO_SHOW_ALL,
g_param_spec_boolean ("no-show-all",
P_("No show all"),
P_("Whether gtk_widget_show_all() should not affect this widget"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:has-tooltip:
P_("Has tooltip"),
P_("Whether this widget has a tooltip"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:tooltip-text:
*
P_("Double Buffered"),
P_("Whether the widget is double buffered"),
TRUE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:halign:
P_("How to position in extra horizontal space"),
GTK_TYPE_ALIGN,
GTK_ALIGN_FILL,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:valign:
P_("How to position in extra vertical space"),
GTK_TYPE_ALIGN,
GTK_ALIGN_FILL,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:margin-left:
0,
G_MAXINT16,
0,
- GTK_PARAM_READWRITE | G_PARAM_DEPRECATED));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY|G_PARAM_DEPRECATED));
/**
* GtkWidget:margin-right:
0,
G_MAXINT16,
0,
- GTK_PARAM_READWRITE | G_PARAM_DEPRECATED));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY|G_PARAM_DEPRECATED));
/**
* GtkWidget:margin-start:
0,
G_MAXINT16,
0,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:margin-end:
0,
G_MAXINT16,
0,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:margin-top:
0,
G_MAXINT16,
0,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:margin-bottom:
0,
G_MAXINT16,
0,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:margin:
P_("Horizontal Expand"),
P_("Whether widget wants more horizontal space"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:hexpand-set:
P_("Horizontal Expand Set"),
P_("Whether to use the hexpand property"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:vexpand:
P_("Vertical Expand"),
P_("Whether widget wants more vertical space"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:vexpand-set:
P_("Vertical Expand Set"),
P_("Whether to use the vexpand property"),
FALSE,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:expand:
0.0,
1.0,
1.0,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkWidget:scale-factor:
gtk_widget_set_events (GtkWidget *widget,
gint events)
{
+ gint e;
+
g_return_if_fail (GTK_IS_WIDGET (widget));
g_return_if_fail (!gtk_widget_get_realized (widget));
- g_object_set_qdata (G_OBJECT (widget), quark_event_mask,
- GINT_TO_POINTER (events));
- g_object_notify (G_OBJECT (widget), "events");
+ e = GPOINTER_TO_INT (g_object_get_qdata (G_OBJECT (widget), quark_event_mask));
+ if (e != events)
+ {
+ g_object_set_qdata (G_OBJECT (widget), quark_event_mask,
+ GINT_TO_POINTER (events));
+ g_object_notify (G_OBJECT (widget), "events");
+ }
}
/**
g_object_set_qdata (G_OBJECT (widget), quark_has_tooltip,
GUINT_TO_POINTER (priv_has_tooltip));
+
+ g_object_notify (G_OBJECT (widget), "has-tooltip");
}
}
gtk_widget_update_alpha (GtkWidget *widget)
{
GtkWidgetPrivate *priv;
- double opacity;
+ gdouble opacity;
guint8 alpha;
priv = widget->priv;
if (gtk_widget_get_realized (widget))
{
if (gtk_widget_is_toplevel (widget))
- gdk_window_set_opacity (priv->window,
- priv->alpha / 255.0);
+ gdk_window_set_opacity (priv->window, priv->alpha / 255.0);
gtk_widget_queue_draw (widget);
}
* Since: 3.8
**/
void
-gtk_widget_set_opacity (GtkWidget *widget,
- gdouble opacity)
+gtk_widget_set_opacity (GtkWidget *widget,
+ gdouble opacity)
{
GtkWidgetPrivate *priv;
guint8 alpha;
gtk_widget_update_alpha (widget);
+ g_object_notify (G_OBJECT (widget), "opacity");
}
/**
* gtk_widget_get_opacity:
* @widget: a #GtkWidget
*
- * Fetches the requested opacity for this widget. See
- * gtk_widget_set_opacity().
+ * Fetches the requested opacity for this widget.
+ * See gtk_widget_set_opacity().
*
* Returns: the requested opacity for this widget.
*
{
g_return_val_if_fail (GTK_IS_WIDGET (widget), 0.0);
- return widget->priv->alpha / 255.0;
+ return widget->priv->user_alpha / 255.0;
}
static void